// 模拟后端接口
import { MockMethod } from 'vite-plugin-mock'

const mock: Array<MockMethod> = [
	{
		// 接口路径
		url: '/api/test',

		// 接口方法
		method: 'get',

		// 返回数据
		response: () => {
			return {
				code: 404,
				message: 'success',
				data: 'Hello World',
				msg: '请求出错',
			}
		},
	},
	/**
	 * 路由数据接口
	 */
	{
		url: '/api/routes',
		method: 'get',
		response: () => {
			// 路由
			const routes = [
				{
					path: '/frontEnd',
					name: 'frontEnd',
					meta: {
						hidden: false, // 路由是否隐藏
						title: '前端', // 标题
						keepAlive: false, // 需要缓存
						icon: 'vite', // 路由图标
						hasPerm: [], // 权限模块
					},
					children: [
						{
							path: '/frontEnd/css',
							name: 'css',
							component: '/frontEnd/css/index',
							meta: {
								hidden: false, // 路由是否隐藏
								title: 'css', // 标题
								keepAlive: false, // 需要缓存
								icon: 'vite', // 路由图标
								hasPerm: [], // 权限模块
								type: 'menu', // menu:菜单 button:按钮
							},
						},
						{
							path: '/frontEnd/html',
							name: 'html',
							component: '/frontEnd/html/index',
							meta: {
								hidden: false, // 路由是否隐藏
								title: 'html', // 标题
								keepAlive: false, // 需要缓存
								icon: 'vite', // 路由图标
								hasPerm: [], // 权限模块
								type: 'menu', // menu:菜单 button:按钮
							},
						},
						{
							path: '/frontEnd/javaScript',
							name: 'javaScript',
							component: '/frontEnd/javaScript/index',
							meta: {
								hidden: false, // 路由是否隐藏
								title: 'javaScript', // 标题
								keepAlive: false, // 需要缓存
								icon: 'vite', // 路由图标
								hasPerm: [], // 权限模块
								type: 'menu', // menu:菜单 button:按钮
							},
						},
						{
							path: '/frontEnd/typeScript',
							name: 'typeScript',
							component: '/frontEnd/typeScript/index',
							meta: {
								hidden: false, // 路由是否隐藏
								title: 'typeScript', // 标题
								keepAlive: false, // 需要缓存
								icon: 'vite', // 路由图标
								hasPerm: [], // 权限模块
								type: 'menu', // menu:菜单 button:按钮
							},
						},
						{
							path: '/frontEnd1',
							name: 'frontEnd1',
							meta: {
								hidden: false, // 路由是否隐藏
								title: '测试多级路由1', // 标题
								keepAlive: false, // 需要缓存
								icon: 'vite', // 路由图标
								hasPerm: [], // 权限模块
							},
							children: [
								{
									path: '/frontEnd1-1',
									name: 'frontEnd1-1',
									meta: {
										hidden: false, // 路由是否隐藏
										title: '测试多级路由1-1', // 标题
										keepAlive: false, // 需要缓存
										icon: 'vite', // 路由图标
										hasPerm: [], // 权限模块
									},
									children: [
										{
											path: '/frontEnd1-1-1',
											name: 'frontEnd1-1-1',
											meta: {
												hidden: false, // 路由是否隐藏
												title: '测试多级路由1-1-1', // 标题
												keepAlive: false, // 需要缓存
												icon: 'vite', // 路由图标
												hasPerm: [], // 权限模块
											},
											children: [
												{
													path: '/frontEnd1-1-1-1',
													name: 'frontEnd1-1-1-1',
													component: '/frontEnd1-1-1-1',
													meta: {
														hidden: false, // 路由是否隐藏
														title: '测试多级路由1-1-1-1', // 标题
														keepAlive: false, // 需要缓存
														icon: 'vite', // 路由图标
														hasPerm: [], // 权限模块
													},
												},
											],
										},
										{
											path: '/frontEnd1-1-2',
											name: 'frontEnd1-1-2',
											component: '/frontEnd1-1-2',
											meta: {
												hidden: false, // 路由是否隐藏
												title: '测试多级路由1-1-2', // 标题
												keepAlive: false, // 需要缓存
												icon: 'vite', // 路由图标
												hasPerm: [], // 权限模块
											},
										},
									],
								},
							],
						},
					],
				},
				{
					path: '/backEnd',
					name: 'backEnd',
					meta: {
						hidden: false, // 路由是否隐藏
						title: '后端', // 标题
						keepAlive: false, // 需要缓存
						icon: 'vite', // 路由图标
						hasPerm: [], // 权限模块
					},
					children: [
						{
							path: '/backEnd/sql',
							name: 'sql',
							component: '/backEnd/sql/index',
							meta: {
								hidden: false, // 路由是否隐藏
								title: 'SQL', // 标题
								keepAlive: false, // 需要缓存
								icon: 'vite', // 路由图标
								hasPerm: [], // 权限模块
								type: 'menu', // menu:菜单 button:按钮
							},
						},
					],
				},
			]

			return {
				code: 0,
				message: 'success',
				data: routes,
			}
		},
	},
]

export default mock
